package com.atuguigu.gmall.cart.exception.handler;

import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.stereotype.Component;

import java.lang.reflect.Method;
import java.util.Arrays;

@Component
@Slf4j
public class UncaughtExceptionHandler implements AsyncUncaughtExceptionHandler {

    @Override
    public void handleUncaughtException(Throwable throwable, Method method, Object... objects) {
        //输出日志  记录到数据库（以后再通过定时任务，再次执行一次）
        log.error("异步任务执行失败。原因：{},方法：{},参数：{}" , throwable.getMessage(),method.getName(), Arrays.asList(objects));
    }
}
